﻿'Description:工时类接口
'Copyright (c) : 通力凯顿（北京）系统集成有限公司
'Writer:Yangsj
'create Date:2017-6-08
'Rewriter:
'Rewrite Date:
Imports BusinessRule.DTO
Public Interface uLMSStepTimeIBusiness

    'Add by Yuxj20200429 获取全部工时
    Function GetZSAllWorkTimeData(ByVal para As Dictionary(Of String, String), ByRef totalStepTimeValue As Double) As uMESProcessResult

    ''' <summary>
    ''' Add by Yuxj20200401 试车工时
    ''' </summary>
    ''' <param name="para"></param>
    ''' <param name="totalStepTimeValue"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetTDMWorkTimeData(ByVal para As Dictionary(Of String, String), ByRef totalStepTimeValue As Double) As uMESProcessResult

    ''' <summary>
    ''' 获取工艺工序工时
    ''' </summary>
    ''' <param name="strWorkflowID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetWorkflowStepTimeData(ByVal strWorkflowID As String) As DataTable

    ''' <summary>
    ''' Modify by Yuxj20190415
    ''' 获取装试没有维护工时的工艺
    ''' </summary>
    ''' <param name="factoryid"></param>
    ''' <param name="m_PageSize"></param>
    ''' <param name="index"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetDoNotMaintainAllStepDurationUnit(ByVal factoryid As String, ByVal m_PageSize As Integer, ByVal index As Integer, ByVal BeginDate As String, ByVal EndDate As String) As uMESProcessResult

    ''' <summary>
    ''' 更新工时
    ''' </summary>
    ''' <param name="dtstep"></param>
    ''' <param name="type">0 更新工时和备注 1 更新工区和班组</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateStepTimeInfo(ByVal dtstep As DataTable, ByVal type As Integer) As Boolean

    ''' <summary>
    ''' 更新装试工步工时 create by tianFW 2018年5月29日
    ''' </summary>
    ''' <param name="StepInfoID"></param>
    ''' <param name="Value"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateZSStepInfoDurationUnit(ByVal StepInfoID As String, ByVal Value As String, ByVal Value2 As String, ByVal notes As String) As Boolean

    ''' <summary>
    ''' 获取工时
    ''' Create：YangSJ
    ''' </summary>
    ''' <param name="QueryCondition"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetWorkTimeData(ByVal QueryCondition As Dictionary(Of String, String), ByRef totalStepTimeValue As Double) As uMESProcessResult

    Function GetWorkTimeData2(ByVal para As Dictionary(Of String, String), ByRef totalStepTimeValue As Double) As uMESProcessResult
    ''' <summary>
    ''' 提交工时
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function SubmitStepTime(ByVal strID As String, ByVal strEmployeeID As String) As Boolean

    ''' <summary>
    ''' 核算工时
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function AdjustStepTime(ByVal strID As String, ByVal strEmployeeID As String, ByVal perDuration As Decimal, ByVal totalDuration As Decimal) As Boolean


    ''' <summary>
    ''' 核销工时
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function VerificationStepTime(ByVal strID As String, ByVal strEmployeeID As String, ByVal perDuration As Decimal, ByVal totalDuration As Decimal) As Boolean

    ''' <summary>
    ''' 获取ProductfamilyName create tianfW
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetProductfamilyName() As DataTable

    ''' <summary>
    ''' 删除分配工时记录 create tianFW 2017/09/22
    ''' </summary>
    ''' <param name="SteptimeID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function DelSteptimeSplitInfoByID(ByVal SteptimeID As String) As Boolean

    ''' <summary>
    ''' 添加分配工时信息 create tianFW 2017/09/22
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function AddSteptimeSplitInfo(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 根据id获取分配工时信息 create tianFW 
    ''' </summary>
    ''' <param name="SteptimeID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetSteptimeSplitInfoByID(ByVal SteptimeID As String) As DataTable

    ''' <summary>
    ''' 获取没有维护完工序工时的工艺信息 create tianFW 2018年5月7日
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetDoNotMaintainAllStepDurationUnitWorkflowInfo(ByVal factoryid As String, ByVal m_PageSize As Integer, ByVal index As Integer) As uMESProcessResult

    ''' <summary>
    ''' 获取没有件号关联的工艺信息 create by tianFW 2018年6月12日
    ''' </summary>
    ''' <param name="workflowinfo"></param>
    ''' <returns></returns>
    ''' <remarks>add YangJiang 20180727 FactoryID</remarks>
    Function GetWorkflowOfNoRelevantToProduct(ByVal workflowinfo As String, ByVal FactoryID As String) As DataTable

    ''' <summary>
    ''' 修改工艺工艺员信息 create by tianFW 2018年6月21日
    ''' </summary>
    ''' <param name="WFID">工艺ID</param>
    ''' <param name="ZMID">工艺默认工艺员ID</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function ChangeWFCheckTechnique(ByVal WFID As String, ByVal ZMID As String) As Boolean


    ''' <summary>
    ''' 获取工时(装试)
    ''' add YangJiang 20180616
    ''' </summary>
    ''' <param name="QueryCondition"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetStepWorkTimeData(ByVal QueryCondition As Dictionary(Of String, String), ByRef totalStepTimeValue As Double) As uMESProcessResult

    ''' <summary>
    ''' 获取工序派工没有报工的信息表 create by tianFW 2018年7月4日
    ''' </summary>
    ''' <param name="stepid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function VerifyStepDispatchInfoOfNotWorkReport(ByVal stepid As String) As DataTable

    ''' <summary>
    ''' Add by Yuxj20181015
    ''' 增加油封工时显示
    ''' </summary>
    ''' <param name="para"></param>
    ''' <param name="totalStepTimeValue"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetOilSealWorkTimeData(ByVal para As Dictionary(Of String, String), ByRef totalStepTimeValue As Double) As uMESProcessResult

    ''' <summary>
    ''' Add by Yuxj20181016
    ''' 将油封信息插入工时表
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function InsertOiltoSheet(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' Add by Yuxj20181017
    ''' 获取集件/去封工时
    ''' </summary>
    ''' <param name="para"></param>
    ''' <param name="totalStepTimeValue"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetCollectWorkTimeData(ByVal para As Dictionary(Of String, String), ByRef totalStepTimeValue As Double) As uMESProcessResult

    ''' <summary>
    ''' 查询工人本月工时（新生产报工页面）add zhunan 2023.2.13
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetWorkerWorkTime(ByVal para As Dictionary(Of String, String)) As DataTable

    ''' <summary>
    ''' 获取没有工步的工序列表yuxj20230324
    ''' ’总体补充工步功能使用,暂时放在页面，后续移入类中
    ''' </summary>
    ''' <param name="workflowid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function ZSGetStepNoStepinfo(ByVal workflowid As String) As DataTable
End Interface
